C++ 并发编程与多线程同步机制

📚 共计 30 章节
第1章
C++并发编程概述
并发与并行的区别 · 多线程应用场景 · C++11线程库简介
入门概念
第2章
线程的创建与管理
std::thread基本用法 · join/detach · 参数传递
基础线程
第3章
互斥锁(Mutex)
std::mutex · lock/unlock · lock_guard / unique_lock
同步
第4章
死锁与预防
四个必要条件 · 预防策略 · std::lock / scoped_lock
进阶死锁
第5章
条件变量(Condition Variable)
std::condition_variable · 生产者-消费者 · 虚假唤醒
同步经典
第6章
原子操作(Atomic)
std::atomic · memory_order · 无锁编程简介
原子内存序
第7章
线程安全的数据结构
线程安全队列/栈 · 读写锁 std::shared_mutex
实用结构
第8章
线程池(Thread Pool)
设计原理 · C++实现 · 任务队列与工作线程
性能池化
第9章
异步编程(Future/Promise)
std::async · future/promise · packaged_task
异步C++11
第10章
并行算法(Parallel Algorithms)
C++17并行算法库 · execution::par · 并行排序/归约
C++17算法
第11章
内存模型与内存序
C++内存模型 · happens-before · 六种内存顺序详解
内存进阶
第12章
锁无关编程(Lock-Free)
CAS操作 · ABA问题 · 无锁栈实现
无锁高并发
第13章
线程局部存储(TLS)
thread_local关键字 · 应用场景 · 性能考量
TLS优化
第14章
信号量(Semaphore)
C++20 counting_semaphore / binary_semaphore · 经典应用
C++20信号量
第15章
屏障(Barrier)与闩(Latch)
std::barrier / std::latch · 多阶段同步
C++20屏障
第16章
协程(Coroutines)基础
C++20协程概念 · co_await/yield/return · 与线程对比
协程C++20
第17章
协程的高级应用
协程与异步I/O · 生成器 · 协程框架
协程异步
第18章
线程安全的设计模式
单例双重检查锁定 · 观察者模式 · Actor模型简介
设计模式线程安全
第19章
性能优化与调试
负载均衡 · 锁粒度控制 · perf/gdb调试多线程
优化调试
第20章
常见并发陷阱
数据竞争 · 死锁检测与避免 · 优先级反转
陷阱避坑
第21章
C++11/14/17/20并发特性演进
各版本新增特性 · 如何选择技术栈
版本演进
第22章
多线程与内存管理
内存分配器线程安全 · TCMalloc/jemalloc · 伪共享
内存性能
第23章
并发网络编程
多线程TCP服务器 · Reactor/Proactor · 线程安全Socket
网络并发
第24章
GPU并行计算基础
CUDA与C++集成 · GPU线程模型 · CPU/GPU协同
GPUCUDA
第25章
分布式系统中的并发
消息队列(RabbitMQ/Kafka) C++客户端 · 分布式锁
分布式消息
第26章
实时系统中的多线程
实时调度策略 · 优先级设置 · 优先级反转协议
实时调度
第27章
测试与验证
多线程测试策略 · 压力测试 · ThreadSanitizer
测试TSan
第28章
C++并发编程最佳实践
RAII与锁管理 · 避免裸线程 · 高级抽象
最佳实践RAII
第29章
案例实战:高性能日志系统
异步日志设计 · 多生产者单消费者 · 日志滚动
实战日志
第30章
案例实战:并行计算框架
任务图并行调度 · 动态负载均衡 · 性能基准测试
实战框架